package com.ship.common.core.mapping;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * @author tangshixuan
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(value={ElementType.FIELD})
public @interface Label {

	/**标签名称，显示的中文名
	 * @return
	 */
	String[] value();
	
	/**内容提供器，继承ContentProvider
	 * @return
	 */
	Class<?> contentProvider() default Object.class;

	String enumContent() default "";
	
	boolean multiSelect() default false;
	
	boolean boolContent() default false;
	
	String[] boolOptions() default {"是","否"};
	
	/**自定义校验器
	 * @return
	 */
	Class<?>[] validator() default {};
	
	/**常用校验规则，以英文逗号分隔
	 * @return
	 */
	String validate() default "";
	
	/**优先级，越高越先处理
	 * @return
	 */
	int priority() default 1;
	
	/**只读字段不会显示在编辑页面
	 * @return
	 */
	boolean readOnly() default false;

	/**
	 * 不用导出
	 * @return
	 */
	boolean notExport() default false;
	
	/**只读字段不会显示在编辑页面
	 * @return
	 */
	boolean longText() default false;
	
	String placeholder() default "";
	
	boolean importOnly() default false;

	String format() default "";
	
	boolean isExport() default false;

	boolean isExportCondition() default  false;
	
	String file() default "";

	String type() default "text";
	
	boolean aliased() default false;
	
	String joinCondition() default "";
	
	String cascadeJoin() default "";
}
